'''
对于一个正整数，每一次将该数替换为它每个位置上的数字的平方和。
然后重复这个过程直到这个数变为 1，也可能是 无限循环 但始终变不到 1。
如果这个过程 结果为 1，那么这个数就是快乐数。

'''


class Solution:
    def isHappy(self, n: int) -> bool:
        if n == 1:
            return True
        sum_list = [n]
        while n > 1:
            sum_s = 0
            while n > 0:
                a = n % 10
                n = int(n / 10)
                sum_s += a ** 2
            n = sum_s
            if n == 1:
                return True
            if n in sum_list:
                return False
            else:
                sum_list.append(n)


ss=Solution()
m=19
print(ss.isHappy(m))